home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / management / StackTraceElementCompositeData.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.9 KB  |  64 lines

  1. package sun.management;
  2.  
  3. import javax.management.openmbean.CompositeData;
  4. import javax.management.openmbean.CompositeDataSupport;
  5. import javax.management.openmbean.CompositeType;
  6. import javax.management.openmbean.OpenDataException;
  7.  
  8. public class StackTraceElementCompositeData extends LazyCompositeData {
  9.    private final StackTraceElement ste;
  10.    private static final CompositeType stackTraceElementCompositeType;
  11.    private static final String CLASS_NAME = "className";
  12.    private static final String METHOD_NAME = "methodName";
  13.    private static final String FILE_NAME = "fileName";
  14.    private static final String LINE_NUMBER = "lineNumber";
  15.    private static final String NATIVE_METHOD = "nativeMethod";
  16.    private static final String[] stackTraceElementItemNames;
  17.  
  18.    private StackTraceElementCompositeData(StackTraceElement var1) {
  19.       this.ste = var1;
  20.    }
  21.  
  22.    public StackTraceElement getStackTraceElement() {
  23.       return this.ste;
  24.    }
  25.  
  26.    public static StackTraceElement from(CompositeData var0) {
  27.       validateCompositeData(var0);
  28.       return new StackTraceElement(getString(var0, "className"), getString(var0, "methodName"), getString(var0, "fileName"), getInt(var0, "lineNumber"));
  29.    }
  30.  
  31.    public static CompositeData toCompositeData(StackTraceElement var0) {
  32.       StackTraceElementCompositeData var1 = new StackTraceElementCompositeData(var0);
  33.       return var1.getCompositeData();
  34.    }
  35.  
  36.    protected CompositeData getCompositeData() {
  37.       Object[] var1 = new Object[]{this.ste.getClassName(), this.ste.getMethodName(), this.ste.getFileName(), new Integer(this.ste.getLineNumber()), new Boolean(this.ste.isNativeMethod())};
  38.  
  39.       try {
  40.          return new CompositeDataSupport(stackTraceElementCompositeType, stackTraceElementItemNames, var1);
  41.       } catch (OpenDataException var3) {
  42.          throw Util.newInternalError(var3);
  43.       }
  44.    }
  45.  
  46.    public static void validateCompositeData(CompositeData var0) {
  47.       if (var0 == null) {
  48.          throw new NullPointerException("Null CompositeData");
  49.       } else if (!isTypeMatched(stackTraceElementCompositeType, var0.getCompositeType())) {
  50.          throw new IllegalArgumentException("Unexpected composite type for StackTraceElement");
  51.       }
  52.    }
  53.  
  54.    static {
  55.       try {
  56.          stackTraceElementCompositeType = (CompositeType)MappedMXBeanType.toOpenType(StackTraceElement.class);
  57.       } catch (OpenDataException var1) {
  58.          throw Util.newInternalError(var1);
  59.       }
  60.  
  61.       stackTraceElementItemNames = new String[]{"className", "methodName", "fileName", "lineNumber", "nativeMethod"};
  62.    }
  63. }
  64.